package com.dkm.ec.so.repository;

import java.util.List;
import java.util.Map;

import com.dkm.base.api.model.Page;
import com.dkm.biz.repository.IRepository;
import com.dkm.ec.so.domain.SaleReview;
import com.dkm.ec.so.persistence.entity.SaleReviewPo;
/**
 * 对象功能:产品评价 Repository接口
 * 开发公司:SKG.COM
 * 开发人员:颜超敏
 * 创建时间:2015-02-10 11:03:42
 */
public interface SaleReviewRepository extends IRepository<String, SaleReviewPo,SaleReview>{
	  /**
	   * 
	   * TODO方法名称描述
	   * @param userId
	   * @param soId
	   * @param prodId
	   * @param skuId
	   * @param page
	   * @param sort 排序字段
	   * @param id 评论ID
	   * @param type 晒单 或全选
	   * @return 
	   * List<SaleReviewPo>
	   * @exception 
	   * @since  1.0.0
	   */
	 public List<SaleReviewPo> findSaleReviewForFrontPaged(String userId, String soId, String prodId, String skuId, Page page, String sort, String id, String type);
	 
	 /**
	  * 
	  * TODO方法名称描述
	  * @param userId
	  * @param soId
	  * @param prodId
	  * @param skuId
	  * @param type 晒单 或全选
	  * @return 
	  * Integer
	  * @exception 
	  * @since  1.0.0
	  */
	 public Integer countSaleReviewForFront(String userId, String soId, String prodId, String skuId, String type);
	 
	 public List<SaleReviewPo> findStarAndCountByProduId(String prodId); //查找产品各评分星级及其数量
	 
	 public SaleReviewPo getAvgScoreByProduId(String prodId);//查找产品平均评价
	 
	 public Integer countReview(Map<String, Object> params); //查询订单中已评价的条数
	 
	 public boolean findSaleReviewById(String reviewId);

	public List<SaleReviewPo> findUserReviewAndSoItem(String userId, Page buildPage);

	public List<SaleReviewPo> findImageBySkuId(String prodSkuId, String string);
	

	public List<SaleReviewPo> findByPartyNameAndCreateTime(String partyName,String createTime);

	public List<SaleReviewPo> findBySaleEntityId(String saleEntityId, Page page, String reviewType);
}
